home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1990 March
/
1990-03.d64
/
raster master
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
78 lines
10 rem copyright 1990 compute! publications, inc. - all rights reserved
20 gosub710:rem go set up cover-up sprites
30 if peek(49152)<>76 then load"raster.ml",8,1
40 sys49161:rem disable routine in case it's active
50 dimv$(25):v$(0)="":fori=1to24:v$(i)=v$(i-1)+"":next:poke53280,0
60 rem create 1-line window offscreen to prevent screen flashes
70 poke820,250:rem place window y-coordinate in 820
80 poke821,1:rem assign number of lines (1) in window in 821
90 rem position cover-up sprites on either side of window to simulate margins
100 poke53248,10:poke53249,120:rem sprite0 x position, sprite0 y position
110 poke53252,40:poke53253,120:rem spr2 x position, spr2 y position
120 poke53248+16,12:rem set high bit of spr2 and spr3 horizontal coordinate
130 poke53248+21,15:rem enable sprites 0-3
140 poke53281,0:print"[147][144]"v$(12)tab(5)"compute!'s gazette presents:"
150 sys49152:sys49155,3,150,10,50:rem open window
160 gosub700:sys49158:gosub700:rem pause and then close window
170 poke53250,40:poke53251,120:rem spr1 x position, spr1 y position
180 poke53254,10:poke53255,120:rem spr3 x position, spr3 y position
190 printv$(12)tab(5)" raster master "
200 sys49155,6,12*8+54,10,50:gosub700:sys49158:gosub700
210 poke53248+21,0:rem disable all sprites
220 print"[147]"v$(8)tab(7)"fantastic presentations"v$(10)tab(14)"for all your"
230 printv$(12)tab(21)"programs"
240 sys49155,11,12*8+42,50,20:gosub700:gosub700
250 printv$(9)tab(7)"[151]all created"v$(11)tab(14)"with the help"
260 printv$(13)tab(21)"of raster master"
270 sys49158:gosub700:gosub700
280 poke53280,0:print"[147]":fortt=1to3
290 printv$(8)" [144]this is the "v$(10)tab(7)"mixup effect"
300 printv$(12)tab(12)"mixing screen text..."
310 poke820,250:poke821,1:sys49155,6,12*8+50,50,10:gosub700
320 printv$(7)" see how this"v$(9)tab(7)"text appears as"
330 printv$(15)tab(12)"the other disappears "
340 sys49158:next
350 gosub700:gosub700
360 print"[147][155]this is the curtain effect[144]"
370 fori=2to22:printv$(i)tab(9)"compute!'s gazette":next
380 poke820,250:poke821,1:sys49155,15,250,200,20:gosub700:gosub700
390 print" "
400 sys49158:print"[147]":sys49161
410 poke820,250:poke821,1:poke53280,6:poke53281,6:sys49152
420 sys49155,2,89,1,50:vx=89:poke820,vx:poke821,vx+9
430 print"[147][154]create a menu or selector bar"
440 print"[158]use <up> & <down> cursors to move"
450 print"press <q> to quit[144]":print
460 fori=1to9:print" ";:forj=1to4:print"line"str$(i)" ";:next:print:next
470 fori=10to19:print" ";:forj=1to4:print"line"str$(i)" ";:next:print:next
480 geta$:ifa$="[145]"then520
490 ifa$=""then540
500 ifa$<>"q"then480
510 goto560
520 vx=vx-8:ifvx<89thenvx=89
530 poke820,vx:poke821,vx+9:goto480
540 vx=vx+8:ifvx>233thenvx=233
550 poke820,vx:poke821,vx+9:goto480
560 sys49158:gosub700:sys49161:poke53281,0:sys49152:poke820,250:poke821,1
570 print"[147][159]you can vary speed and color"
580 a=40:fori=1to7:a=a-5:sys49155,int(rnd(1)*7)+7,90,15,a
590 sys49158:gosub700:next:poke53280,0:poke53281,0:poke820,250:poke821,1
600 poke53248+21,15
610 print"[147]"v$(10)tab(6)"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
620 fori=11to13:printv$(i)tab(6)"[209]"tab(31)"[209]":next
630 printv$(14)tab(6)"[209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209][209]"
640 printv$(12)tab(10)"[144](r)estart or (e)nd[159]"
650 sys49155,3,150,10,100:gosub700
660 geta$:sys49158:ifa$=""then640
670 ifa$="r"thensys49161:run
680 ifa$<>"e"then640
690 sys49161:print"[147][159]":end
700 fordy=1to500:next:return
710 fori=832toi+63:pokei,255:next:rem define solid block sprite
720 poke53248+23,255:poke53248+29,255:rem expand all sprites in x and y direct.
730 poke53248+27,255:rem set sprite priority over foregrd color
740 fori=53248+39toi+7:pokei,0:next:rem set all sprites to background color
750 fori=2040to2047:pokei,13:next:rem set pointers to sprite definition data
760 fori=53248toi+15:pokei,0:next:rem locate all sprites at 0,0
770 return